// 基础类型定义
export type Status = 'active' | 'inactive' | 'pending' | 'suspended' | 'locked';

export type PlanType = 'tenant' | 'organization';

export type DataScopeType = 'all' | 'organization' | 'department' | 'self' | 'custom';

// 分页相关类型
export interface PaginationParams {
  page: number;
  pageSize: number;
  total?: number;
}

export interface PaginatedResponse<T> {
  data: T[];
  pagination: {
    page: number;
    pageSize: number;
    total: number;
    totalPages: number;
  };
}

// API响应基础类型
export interface ApiResponse<T = any> {
  code: number;
  message: string;
  data: T;
  success: boolean;
  timestamp: string;
}

// 简化的API响应类型（用于模拟API）
export interface SimpleApiResponse<T = any> {
  data: T;
  message?: string;
}

// 排序类型
export interface SortOption {
  field: string;
  order: 'asc' | 'desc';
}

// 过滤器基础类型
export interface BaseFilter {
  keyword?: string;
  status?: Status;
  createdAt?: {
    start?: string;
    end?: string;
  };
  updatedAt?: {
    start?: string;
    end?: string;
  };
}